/*
 * @FilePath: \Src\main.c
 * @Description: 
 * 
 * Copyright (c) 2025 by ${w}, All Rights Reserved. 
 */

#include "main.h"

float temperature = 0;

/**
 * @LastEditTime: 2025-06-15
 * @Description: 
 * @return {}
 */
int main(void)
{
    uint8_t i = 0;
    /* 系统时钟配置 */
    systick_config();

    /* 初始化参数 */
    system_timer_init();

    /* 定时器初始化 72000000 / 1000 / 72 */
    drv_timer16_init(1000, 72);

    /* 串口初始化 */
    uasrt0_init(115200);
    uasrt1_init(4800);

    /* adc初始化 */
    adc_init();

    /* 蜂鸣器初始化 */
    beep_register();

    /* LED初始化 */
    led_register();

    /* 按键初始化 */
	app_key_create();

    /* 实时时钟初始化 */
    rtcInit();

    OLED_Init();
    OLED_Clear(0);

    GUI_ShowString(0, 0, (uint8_t*)"oled_test", 16, 1);

    io_set_param((const int8_t*)"led", IO_OUTPUT_MS_TO_TICKs(200), IO_OUTPUT_MS_TO_TICKs(200), IO_OUTPUT_LOOP, IO_OUTPUT_MS_TO_TICKs(0));

    /* 上电蜂鸣器响3声 */
    io_set_param((const int8_t*)"beep", IO_OUTPUT_MS_TO_TICKs(200), IO_OUTPUT_MS_TO_TICKs(100), IO_OUTPUT_COUNT(0x04), IO_OUTPUT_MS_TO_TICKs(1000));
    while(1)
    {
        /* RTC */
        SEC_Handler();
        /* io设备任务 */
        io_device_task();
        /* 蓝牙 */
        // ble_task();
        /* 10ms主任务 */
        if(sys_timer.System_10ms == 1)
        {
            sys_timer.System_10ms = 0;
            Button_Scan();
        }

        if(sys_timer.System_500ms == 1)
        {
            sys_timer.System_500ms = 0;
            i++;
            GUI_ShowNum(0, 16, i, 3, 16, 0);
        }

        /* 2s获取NTC温度 */
        if(sys_timer.System_2s == 1)
        {
            sys_timer.System_2s = 0;
            temperature = BSP_Get_Temperature(getNtcResistance(adc_channel_sample(ADC_CHANNEL_2)));
        }
        oled_refresh_step();
    }
}
